/**
 * 格式化日期为统一格式（yyyy-MM-dd HH:mm:ss）
 * @param {Date|String|Number} date - 可传入Date对象、时间戳、日期字符串
 * @returns {String} 统一格式的日期字符串
 */
export const formatDateTime = (date) => {
    if (!date) return '';

    // 处理不同类型的输入：转为Date对象
    let targetDate;
    if (typeof date === 'string') {
        // 若后端返回ISO格式（如2024-05-20T14:30:00），先替换T为空格
        targetDate = new Date(date.replace('T', ' '));
    } else if (typeof date === 'number') {
        targetDate = new Date(date); // 时间戳（毫秒）
    } else {
        targetDate = date; // 已为Date对象
    }

    // 格式化：yyyy-MM-dd HH:mm:ss
    const year = targetDate.getFullYear();
    const month = String(targetDate.getMonth() + 1).padStart(2, '0');
    const day = String(targetDate.getDate()).padStart(2, '0');
    const hours = String(targetDate.getHours()).padStart(2, '0');
    const minutes = String(targetDate.getMinutes()).padStart(2, '0');
    const seconds = String(targetDate.getSeconds()).padStart(2, '0');

    return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
};

/**
 * 解析后端返回的日期字符串为Date对象（兼容统一格式）
 * @param {String} dateStr - 后端返回的日期字符串（如2024-05-20 14:30:00）
 * @returns {Date} Date对象
 */
export const parseDateTime = (dateStr) => {
    if (!dateStr) return null;
    // 统一格式的字符串可直接转为Date
    return new Date(dateStr.replace(' ', 'T') + 'Z'); // 兼容时区（若后端用GMT+8）
};